1. Field of the Invention
The present invention relates to networks and, more specifically, to communication protocols for controlling latency differences for network clients.
2. Description of the Related Art
This section introduces aspects that may help facilitate a better understanding of the invention(s). Accordingly, the statements of this section are to be read in this light and are not to be understood as admissions about what is in the prior art or what is not in the prior art.
The increasing availability of broadband access to consumers and the ease with which network-based applications can be defined spawned a new generation of network users. Today, the end user expects the network to serve as an interactive medium for multimedia communications and/or entertainment. These expectations fuel the development of new network applications in the entertainment and business sectors. In the entertainment sector, such new applications involve multiple users participating in a single interactive session, such as on-line gaming or on-line music playing in a virtual (distributed) orchestra. The commercial sector offers new interactive services, such as telepresence and live bidding in e-commerce.
One requirement that an interactive application might have for the underlying network is latency bounds. However, when the application has multiple users, mere latency bounds no longer suffice because the user experience can be severely impacted by latency differences among the interacting users. For example, in online gaming, differences in lag experienced by different players can significantly reduce the entertainment value of the game, and game servers often enable the participants to vote out and exclude the players having relatively high lag times. In e-commerce, latency differences between different pairs of shopping and pricing agents can result in price oscillations leading to an unfair advantage to those pairs of agents whose latency differences are relatively small.
A typical prior-art approach to latency equalization is to perform it an end point, e.g., at the client or at the application server. Latency equalization at the client is based on hardware and software enhancements that speed up the processing of event updates and application rendering. However, these techniques are unable to appropriately compensate for the network-based delay differences. Latency equalization by the application server requires estimating the state of the network. However, such estimation has limitations because the application server usually infers the state of the network from the behavior of the applications being run even if the network-related issues are not the dominating factor in that behavior. Also, the overhead of network measurements and latency-equalization processing tend to impose a significant additional burden on the server's CPU, which might unacceptably reduce the maximum number of users that the server can accommodate at the same time.